home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / public / fax / src / port / svr4 / install.sh < prev    next >
Linux/UNIX/POSIX Shell Script  |  1994-08-01  |  3KB  |  109 lines

  1. #! /bin/sh
  2. #    $Header: /usr/people/sam/fax/port/svr4/RCS/install.sh,v 1.6 1994/02/28 14:29:18 sam Rel $
  3. #
  4. # FlexFAX Facsimile Software
  5. #
  6. # Copyright (c) 1990, 1991, 1992, 1993, 1994 Sam Leffler
  7. # Copyright (c) 1991, 1992, 1993, 1994 Silicon Graphics, Inc.
  8. # Permission to use, copy, modify, distribute, and sell this software and 
  9. # its documentation for any purpose is hereby granted without fee, provided
  10. # that (i) the above copyright notices and this permission notice appear in
  11. # all copies of the software and related documentation, and (ii) the names of
  12. # Sam Leffler and Silicon Graphics may not be used in any advertising or
  13. # publicity relating to the software without the specific, prior written
  14. # permission of Sam Leffler and Silicon Graphics.
  15. # THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
  16. # EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
  17. # WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
  18. # IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
  19. # ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
  20. # OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  21. # WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
  22. # LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
  23. # OF THIS SOFTWARE.
  24. #
  25.  
  26. #
  27. # Shell script to emulate SGI install program under USL System V Release 4.
  28. #
  29. preopts=
  30. postopts=
  31. SaveFirst=no
  32. HasSource=yes
  33. RemoveFirst=no
  34.  
  35. INSTALL=/usr/ucb/install
  36. CMD=$INSTALL
  37. SRC=
  38. FILES=
  39. DESTDIR=
  40. CHMOD=/bin/true
  41. CHOWN=/bin/true
  42. CHGRP=/bin/true
  43. MV="/bin/mv -f"
  44. RM="/bin/rm -f"
  45. ECHO=/bin/true
  46.  
  47. while [ -n "$1" ]
  48. do
  49.     arg=$1
  50.     case $arg in
  51.     -m)        shift; CHMOD="/usr/bin/chmod $1";;
  52.     -u)        shift; CHOWN="/usr/bin/chown $1";;
  53.     -g)        shift; CHGRP="/usr/bin/chgrp $1";;
  54.     -o)        SaveFirst="yes";;
  55.     -O)        RemoveFirst="yes"; SaveFirst="yes";;
  56.     -root)    shift; ROOT=$1;;
  57.     -dir)    preopts="$preopts -d"; HasSource="no";;
  58.     -fifo)    CMD="/usr/bin/mkfifo"; HasSource="no";;
  59.     -ln)    shift; CMD="/usr/bin/ln"; SRC=$1;;
  60.     -lns)    shift; CMD="/usr/bin/ln"; preopts="-s"; SRC=$1;;
  61.     -src)    shift; SRC=$1;;
  62.     -[fF])    shift; DESTDIR=$1;;
  63.     # these are skipped/not handled
  64.     -idb|-new|-rawidb|-blk|-chr) shift;;
  65.     -v)        ECHO="/bin/echo";;
  66.     -*)     ;;
  67.     *)        FILES="$FILES $arg";;
  68.     esac
  69.     shift
  70. done
  71. if [ $SaveFirst = "yes" ]; then
  72.     for f in $FILES
  73.     do
  74.     bf=`basename $f`
  75.     if [ -f $ROOT/$DESTDIR/$bf ]; then
  76.         $ECHO "$MV $ROOT/$DESTDIR/$bf $ROOT/$DESTDIR/OLD$bf"
  77.         $MV $ROOT/$DESTDIR/$bf $ROOT/$DESTDIR/OLD$bf
  78.     fi
  79.     done
  80. fi
  81. if [ $RemoveFirst = "yes" ]; then
  82.     for f in $FILES
  83.     do
  84.     bf=`basename $f`
  85.     if [ -f $ROOT/$DESTDIR/$bf ]; then
  86.         $ECHO "$RM $ROOT/$DESTDIR/$bf"
  87.         $RM $ROOT/$DESTDIR/$bf
  88.     fi
  89.     done
  90. fi
  91. for f in $FILES
  92. do
  93.     $ECHO "$RM $ROOT/$DESTDIR/$f"
  94.     $RM $ROOT/$DESTDIR/$f
  95.     if [ "$SRC" = "" -a $HasSource = "yes" ]; then
  96.         $ECHO "$CMD $preopts $f $ROOT/$DESTDIR/$f $postopts"
  97.         $CMD $preopts $f $ROOT/$DESTDIR/$f $postopts
  98.     else
  99.         $ECHO "$CMD $preopts $SRC $ROOT/$DESTDIR/$f $postopts"
  100.         $CMD $preopts $SRC $ROOT/$DESTDIR/$f $postopts
  101.     fi
  102.     $ECHO "$CHOWN $ROOT/$DESTDIR/$f"; $CHOWN $ROOT/$DESTDIR/$f
  103.     $ECHO "$CHGRP $ROOT/$DESTDIR/$f"; $CHGRP $ROOT/$DESTDIR/$f
  104.     $ECHO "$CHMOD $ROOT/$DESTDIR/$f"; $CHMOD $ROOT/$DESTDIR/$f
  105. done
  106.